The present invention relates to oversampling analog-to-digital converters. More particularly, the present invention relates to methods and apparatus for improving the direct current (DC) offset and offset drift performance of an oversampling analog-to-digital converter.
Converting a continuous-time analog signal to a discrete-time digital representation typically requires anti-alias filtering, sampling and quantization. An anti-aliasing filter ensures that analog input signal is properly band-limited prior to sampling. A sampler captures samples of the filtered input signal at discrete time intervals T=1/Fs, where Fs is the sampling frequency. Sampling frequency Fs typically is selected as at least twice the bandwidth of the filtered analog input signal. A quantizer converts the samples to a discrete set of values. Conventional analog-to-digital (A/D) converters typically perform sampling and quantization, whereas separate discrete components or integrated circuits perform anti-aliasing.
Oversampling A/D converters, in contrast, sample an analog input signal at a rate NFs that is many times greater than twice the bandwidth of the analog input signal. An oversampling converter typically includes an anti-alias filter, a sampler and modulator (quantizer), and a digital filter. The sampler and quantizer operate at the elevated rate NFs. The digital filter, typically called a decimator, provides low-pass filtering to suppress signals above Fs/2, and sample-rate reduction to lower the sample rate to the desired rate Fs. As a result of the higher input sampling rate, over-sampling converters have less stringent anti-alias filter requirements than traditional converters. In addition, oversampling converters permit lower quantization noise power, and hence improved signal-to-noise ratio compared to traditional converters.
One key requirement for oversampling A/D converters is low DC offset. If the input to an oversampling A/D converter is zero (e.g., 0 volts), the output of the converter ideally is a digital code corresponding to zero. As a result of component mismatches, however, the output of a real A/D converter to a zero input is a digital code that corresponds to a value other than zero. The magnitude of the converter""s input-referred DC offset is the magnitude of the DC input signal that causes the A/D converter to produce a zero output. The DC offset of the converter may vary with time and temperature. This phenomenon typically is called xe2x80x9coffset drift.xe2x80x9d Another key requirement for oversampling A/D converters is low offset drift with time and temperature.
Previously known techniques have been used to improve the DC offset performance of A/D converters. For example, Donald A. Kerth et al., xe2x80x9cAn Oversampling Converter for Strain Gauge Transducers,xe2x80x9d IEEE J. Solid State Circuits, 27(12):1689-96 (December 1992), describes an oversampling xcex94-xcexa3 A/D converter architecture that uses chopper-stabilized amplifiers to substantially reduce the overall DC offset of the converter. Nevertheless, the non-ideal chopper amplifier switches contribute DC offset and offset drift proportional to the chopper frequency, which corresponds to the relatively high sampling frequency of the xcex94-xcexa3 modulator. Although digital calibration techniques may be used to remove residual DC offset, such techniques are ineffective for correcting offset drift. Further, to increase the converter""s resolution, the sampling frequency of the xcex94-xcexa3 modulator may be increased. Such increases, however, require that the chopper frequency also must increase, which increases residual offset and offset drift.
An improved offset performance A/D converter is described in Damien McCartney et al., xe2x80x9cA Low-Noise Low Drift Transducer ADC,xe2x80x9d IEEE J. Solid State Circuits, 32(7):959-967 (July 1997) (xe2x80x9cMcCartneyxe2x80x9d). The architecture of the McCartney converter is shown in FIG. 1. Converter 10 includes analog chopper 12, buffer amplifier 14, xcex94-xcexa3 modulator 16, digital chopper 18, Sinc3 filter and decimator 20, and FIR filter 22. Analog chopper 12 chops analog input signal VIN with a square wave of frequency fchop. For example, as described by McCartney, if VIN is a differential signal, analog chopper 12 may be implemented as a multiplexer that successively reverses the polarity of VIN. Buffer amplifier 14 isolates the chopped analog input signal from the succeeding switched capacitor circuitry, and may provide adjustable gain. xcex94-xcexa3 modulator 16 samples the output of buffer amplifier 14 at a frequency fmod that is much higher than chop frequency fchop, and provides a digital data stream at its output. For example, fmod=2xc3x97Nxc3x97fchop, where N is the oversampling ratio of xcex94-xcexa3 modulator 16. Digital chopper 18 is phase-synchronized with analog chopper 12, and chops the digital data output of xcex94-xcexa3 modulator 16 to provide a digital data steam at a rate fmod. Sinc3 filter and decimator 20 filter and decimate the output data stream of digital chopper 18 to provide a digital stream x (n) at a rate fmod/N.
If chopper frequency fchop equals fmod/(2xc3x97N), then successive samples x(n) provided at the output of Sinc3 filter and decimator 20 are digital representations of the analog signals (VIN+VOS) and (VINxe2x88x92VOS), where VOS is the input-referred offset of buffer amplifier 14 and xcex94-xcexa3 modulator 16. For example, x(n) for n=0, xe2x88x921, xe2x88x922, 3, xe2x88x924, may be expressed as:
x(0)=(VIN(0)+VOS(0)
x(xe2x88x921)=(VIN(xe2x88x921)xe2x88x92VOS(xe2x88x921))
x(xe2x88x922)=(VIN(xe2x88x922)+VOS(xe2x88x922))
x(xe2x88x923)=(VIN(xe2x88x923)xe2x88x92VOS(xe2x88x923))
x(xe2x88x924)=(VIN(xe2x88x924)+VOS(xe2x88x924))xe2x80x83xe2x80x83(1)
where VIN(n), n=0, xe2x88x921, xe2x88x922, xe2x88x923, xe2x88x924, . . . , are samples of input signal VIN, and VOS(n), n=0, xe2x88x921, xe2x88x922, xe2x88x923, xe2x88x924, . . . , are samples of input-referred offset VOS.
FIR filter 22 removes VOS from output x(n) of Sinc3 filter and decimator 20 and provides digital output signal y(n) at rate fchop. If FIR filter 22 has L coefficients h(n), n=0, 1, 2, . . . , Lxe2x88x921, output y(n) may be expressed as:                               y          ⁡                      (            n            )                          =                              ∑                          k              =              0                                      L              -              1                                ⁢                      xe2x80x83                    ⁢                                    h              ⁡                              (                k                )                                      xc3x97                          (                              n                -                k                            )                                                          (        2        )            
For example, if L=2, output y(n) may be expressed as:
y(n)=h(0)x(n)+h(1)x(nxe2x88x921)xe2x80x83xe2x80x83(3)
For n=0, y(0) equals:                                                                         y                ⁡                                  (                  0                  )                                            ⁢                              xe2x80x83                            =                                                                    h                    ⁡                                          (                      0                      )                                                        xc3x97                                      (                    0                    )                                                  +                                                      h                    ⁡                                          (                      1                      )                                                        xc3x97                                      (                                          -                      1                                        )                                                                                                                                          xe2x80x83                            ⁢                              =                                                      h                    ⁡                                          (                      0                      )                                                        ⁡                                      [                                                                                            V                          IN                                                ⁡                                                  (                          0                          )                                                                    +                                                                        V                          OS                                                ⁡                                                  (                          0                          )                                                                                      ]                                                                                                          (                  4          ⁢          a                )                                          xe2x80x83                ⁢                  +                                    h              ⁡                              (                1                )                                      ⁡                          [                                                                    V                    IN                                    ⁡                                      (                                          -                      1                                        )                                                  -                                                      V                    OS                                    ⁡                                      (                                          -                      1                                        )                                                              ]                                                          (                  4          ⁢          b                )            
If fchop is many times higher than twice the bandwidth of VIN and VOS, then
VIN(0)≈VIN(xe2x88x921)xe2x80x83xe2x80x83(5a)
VOS(0)≈VOS(xe2x88x921)xe2x80x83xe2x80x83(5b)
Ideally, y(n) contains no offset VOS, such that
y(n)=VIN (n)xe2x80x83xe2x80x83(6)
Combining equations (4b), (5) and (6), impulse response coefficients h(0)=+0.5 and h(1)=+0.5.
An alternative embodiment of the converter of FIG. 1 is shown in FIG. 2. Circuit 30 includes excitation source 32, analog chopper 34, sensor 36 and A/D converter 38. Excitation source provides analog excitation input signal EIN, and sensor 36 may be, for example, a resistor bridge strain gauge used in an industrial weigh scale. Analog excitation input signal EIN typically is a DC signal. Analog chopper 34 chops analog excitation input signal EIN, and provides the chopped signal to resistor bridge 36. The analog output of resistor bridge 36 is the input to A/D converter 38. A/D converter 38 includes chop synch 40, which provides analog chopper 34 with a clock signal of the correct polarity and phase to synchronize analog chopper 34 to A/D converter 38. By including sensor 36 in the chop loop, circuit 30 removes offsets in sensor 36 caused by thermal electromotive force (EMF) or leakage current. As described by McCartney, xcex94-xcexa3 modulator 16 may be implemented as a 1-bit xcex94-xcexa3 modulator, and digital chopper 18 may be implemented as an exclusive-OR gate.
To provide lower quantization error, it may be desirable to implement xcex94-xcexa3 modulator 16 as a multi-bit xcex94-xcexa3 modulator (i.e., a modulator that provides a multi-bit digital output data stream). Alternatively, it may be desirable to implement modulator 16 using other oversampling quantizer architectures (e.g., successive approximation, flash, or pipelined quantizers) that provide multi-bit digital representations of the signal applied to the quantizer""s input. In such multi-bit implementations, digital chopper 18 may not be implemented using a simple exclusive-or gate, but instead requires more complex circuitry.
It therefore would be desirable to provide an oversampling analog-to-digital converter that includes a multi-bit quantizer and that has reduced DC offset and offset drift.
It also would be desirable to provide an oversampling analog-to-digital converter that includes a multi-bit xcex94-xcexa3 modulator and that has reduced DC offset and offset drift.
It further would be desirable to provide an oversampling analog-to-digital converter that has reduced DC offset and offset drift, but that does not require a digital chopper stage.
Accordingly, it is an object of this invention to provide an oversampling analog-to-digital converter that includes a multi-bit quantizer and that has reduced DC offset and offset drift.
It also is an object of this invention to provide an oversampling analog-to-digital converter that includes a multi-bit xcex94-xcexa3 modulator and that has reduced DC offset and offset drift.
It further is an object of this invention to provide an oversampling analog-to-digital converter that has reduced DC offset and offset drift, but that does not require a digital chopper stage.
In accordance with these and other objects of the present invention, an oversampling A/D converter is provided that includes an analog chopper, a buffer amplifier, an oversampling quantizer (such as a single or multi-bit xcex94-xcexa3 modulator, successive approximation quantizer, flash quantizer, pipelined quantizer or other suitable oversampling quantizer), a first digital filter and decimator, and a second digital filter and decimator.